昨天把 Obsidian 當成我的編輯桌,也定好了桌上的稿子要經過哪道檢查,才能抄進正式的帳本。可是我忽略了一件很現實的事:編輯桌和 Macaron,其實不在同一個地方。
我自己的 AI 助理本來就是跑在雲端主機上的,24 小時不關機,Macaron 未來也會一樣,所以 AI 寫出來的第一版草稿,是在雲端那台主機上產生的。但我的 Obsidian 在我自己的 Mac 裡,這代表一份草稿要從雲端出發,經過中間存放程式碼的 GitHub,最後才走到我的電腦上,讓我打開來改。
聽起來只是「把檔案下載下來」,但這條路上有一個我很怕的情況。
前幾天,我自己的助理系統就遇到過類似的事:雲端那台自動存了一些紀錄,我的電腦這邊也剛好改了東西,兩邊各自往前走,自動同步的程式看到這個狀況,就停下來等我處理。那一次還好,它選擇停下來,而不是自己挑一邊蓋掉另一邊。
(需作者補充:那次遇到同步卡住時,你當下的感覺或處理過程。)
所以 Day 16 我想先定清楚的,是一份草稿在不同的時間,到底誰有資格寫它。
規則其實很單純:雲端的 Macaron 只負責寫出第一版,而且只能寫一次,寫了就不能再覆蓋第二次。這份草稿順利交到我手上之後,主人就換成我,雲端那邊從此只能讀取、檢查和匯入,不能再回頭改內容。
這樣做的好處,是之後回頭看任何一段文字,我都能分得清楚它是 AI 寫的初稿,還是我改過的版本,不會出現「兩邊都改過、不知道該聽誰的」這種狀況。
草稿要走到我電腦上之前,Macaron 會先檢查我這邊的狀況。它要看到的是:這是 Macaron 自己的專案、在主要的那條版本線上,而且這次雲端送來的變動,只多了那一份占卜草稿,沒有夾帶別的東西。
只要我電腦上已經有同名的檔案、有東西被刪掉或改名、有我還沒存好的修改,或兩邊的版本已經各自岔開,它就不會動手。它也不會為了讓同步成功,替我把改到一半的東西先藏起來或還原,遇到不確定的情況,就停在原地等我。
這一天還有一個很細、但我覺得很重要的區分。
Macaron 檢查完一切都沒問題之後,會產生一份「可以同步」的計畫,上面寫著這次要從哪一版前進到哪一版、哪一個檔案、內容指紋是多少,以及下一位主人是我。但這份計畫上也清楚標著:它只是計畫,不是收據,也還沒有真的做任何事。
同步用的鎖也分成兩件事看。「現在拿得到鎖」只能說明可以開始,要等未來真的有程式握著這把鎖、把檔案拉下來之後,才能開出一張收據,草稿的主人也要到那一刻才正式換成我。
今天這些,都是用假的版本號碼、假的檔案和假的鎖,在離線的狀態下驗證的。Macaron 沒有真的連上雲端主機,也沒有真的拉任何檔案下來。
草稿能從雲端走到我手上了,接下來是反方向:我在 Obsidian 裡改完之後,要怎麼把它送回去,又不會把不該送的東西一起帶走?